import wepy from 'wepy'
export default class extends wepy.mixin {
  
    data = {
        cart:[]
    };
  
    methods = {
        // 修改步进器的值时
        // 看文档可通过event.detail获得当前输入的值
        onChangeStepper(e){
            // 得到count
            // return console.log(e.detail);
            // return console.log(e.target.dataset.id);
            
            var count = e.detail
            // // 通过原生中的data-* 传递 id
            var id = e.target.dataset.id
            // // 调用全局的方法更新count
            this.$parent.updataCount(id,count)
        },

        // 商品是否选中
        getIdAndStatus(e){
            console.log(e)
            // 通过事件对象e的detail获得CheckBox的状态
            var status = e.detail
            // 通过data-*传参得到id
            const id = e.target.dataset.id
            // 调用全局的方法修改状态
            this.$parent.changeStatus(id,status)
        },

        // 获得id删除物品
        removeGoods(id){
            console.log(id);
            this.$parent.removeGlobalCart(id)
        },
        // 提交订单
        submitOrder(){
            // 如果购物车价格为0 禁止跳转
            if (this.amount<=0) {
                return wepy.baseToast('暂无物品可以提交！')
            }
            wepy.navigateTo({
                url: '/pages/order'
            })
        },
        // 全选反选
        changeAll(e){
            this.$parent.isFull(e.detail)
        }
    };

    onLoad(){
        this.cart = this.$parent.globalData.cart

    }

    computed = {
        // 判断购物车是否为空 从而选择性的渲染页面 
        isEmpty(){
            if (this.cart.length == 0) {
                // 购物车为空 
                return true
            }
            return false
        },
        // 计算购物车总价
        amount(){
            var total = 0
            this.cart.forEach(item => {
                if (item.isCheck) {
                    total += item.price * item.count
                }
            });
            return total * 100
        },
        // 判断是否全部选中了
        isFull(){
            // return this.cart.every(item=>item.isCheck == true)
            // isCheck本身就是布尔值 遍历之后只要有一个是false就返回false
            return this.cart.every(item=>item.isCheck)
        }


    }
  }